package backBeans;

import java.sql.Timestamp;
import java.util.Calendar;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import constantes.ComandosNavegacion;
import delegados.DelegadoUsuarios;
import delegados.DelegadoValoraciones;
import delegados.DelegadoWebServideSubastador;
import entidades.Usuario;
import entidades.Valoracion;
import entidades.Voto;
import entidadesSubastador.UsuarioSubastador;

public class BeanValoracion
{
	static int voto;
	static String comentario;
	static int codigoVendedor; 
	static String loginVendedor;
	
	static String logrado;
	
	
	public String irValorar()
	{
		return ComandosNavegacion.COMANDONAVEGACIONVALORAR;
	}
	
	public String realizarValoracion()
	{
		DelegadoUsuarios delegadoUsuarios=new DelegadoUsuarios();
		DelegadoValoraciones delegadoValoraciones= new DelegadoValoraciones();
		
		Usuario usuario=new Usuario();
		UsuarioSubastador usuarioSession=(UsuarioSubastador)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("Usuario");
		usuario.setApellidos(usuarioSession.getApellidos());
		usuario.setCodigo(usuarioSession.getCodigo());
		usuario.setCorreoElectronico(usuarioSession.getCorreoElectronico());
		usuario.setLogin(usuarioSession.getLogin());
		usuario.setNombre(usuarioSession.getNombre());
		usuario.setPassword(usuarioSession.getPassword());
		
		delegadoUsuarios.ingresarUsuario(usuario);
		
		Voto votoEntidad=new Voto();
		votoEntidad.setCodigo(voto);
		votoEntidad.setCalificacion("Positivo");
		
		Valoracion valoracion=new Valoracion();
		valoracion.setComentario(comentario);
		valoracion.setUsuario(usuario);
		valoracion.setVendedor(codigoVendedor);
		valoracion.setVoto(votoEntidad);
		
		Calendar calendarioActual=Calendar.getInstance();
		long enMilisegundosActuales = calendarioActual.getTimeInMillis();
		Timestamp sqlTimestampActual = new Timestamp(enMilisegundosActuales);
		String fechaActual=sqlTimestampActual.toString();
		
		valoracion.setFecha(fechaActual);
		
		Valoracion valoracionIngresada=delegadoValoraciones.crearValoracion(valoracion);
		
		if(valoracionIngresada==null)
		{
			logrado=null;
			FacesContext.getCurrentInstance().addMessage(null , new FacesMessage("No se pudo llevar a Cabo la Calificacion al Vendedor"));
		}
		else
		{
			logrado="Se realizo la calificacion exitosamente";
		}		
		
		
		return ComandosNavegacion.COMANDONAVEGACIONVALORAR;
	}
	
	public  int getVoto() {
		return voto;
	}


	public  void setVoto(int voto) {
		BeanValoracion.voto = voto;
	}


	public  String getComentario() {
		return comentario;
	}


	public  void setComentario(String comentario) {
		BeanValoracion.comentario = comentario;
	}


	public  int getCodigoVendedor() {
		return codigoVendedor;
	}


	public  void setCodigoVendedor(int codigoVendedor) {
		BeanValoracion.codigoVendedor = codigoVendedor;
	}
	
	public String getLogrado() {
		return logrado;
	}

	public void setLogrado(String logrado) {
		BeanValoracion.logrado = logrado;
	}
	public String getLoginVendedor() {
		return loginVendedor;
	}

	public void setLoginVendedor(String loginVendedor) {
		BeanValoracion.loginVendedor = loginVendedor;
	}
}
